# 【例1】 生成[0, 2, 4, 6, 8]
L = []

def func(x):
    return x * 2

for x in range(5):
    L.append(func(x))

print(str(L))
print(str([func(x) for x in range(5)]))


# 【例2】 列表表达式还支持多层嵌套，如下面的例子中第一个 for 为外层循环，第二个为内层循环：
value = [m + '_' + n for m in 'hsd' for n in 'sdf']
print(value)


# 【例3】 除了列表推导式，另一个实用的语法糖是带有 if 选择的条件赋值，其形式为 value = a if condition else b :
value = 'dog' if 2 > 1 else 0  # 三元表达式
print(value)


# 【例4】 截断列表中超过5的元素，即超过5的用5代替，小于5的保留原来的值：
L = [x for x in range(8)]
value = [i if i < 5 else 5 for i in L]
print(value)
